package com.geekbang.onlinemarket;

import com.geekbang.supermarket.Phone;

public class OnlineSpecialPhone extends Phone {

    public OnlineSpecialPhone(String name, String id, int count, double soldPrice, double purchasePrice, double screenSize, double cpuHZ, int memoryG, int storageG, String brand, String os) {
        super(name, id, count, soldPrice, purchasePrice, screenSize, cpuHZ, memoryG, storageG, brand, os);
        this.screenSize = 99;
        // TODO 在不同包里，但属于Phone的子类，可以访问protected，但是不可以访问缺省
        // TODO >> default 缺省值 只能在一个包里可见
        // TODO >> protected = default + 对子类可见

// TODO
//        类内部(私有)   本包        子类        外部包
//        private
//        default      default
//        protected    protected  protected
//        public       public     public     public

    }

    // >> TODO 子类覆盖父类的方法，不可以用可见性更低的修饰符，但是可以用更高的修饰符
    // >> TODO 原因是什么呢？
    // >> TODO 因为 多态 父类的引用(Phone)是可以指向 OnlineSpecialPhone 的实例的，如果下面的方法为private，当 父类的引用指向的时候，就会
        // >> TODO 访问该方法，如果是private就访问不了
   public String getNameOfPhone(){
        return super.getNameOfPhone();
   }
}
